Non-volatile data storage devices have enabled increased portability of data and software applications. For example, multi-level cell (MLC) storage elements of a flash memory device may each store multiple bits of data, enhancing data storage density as compared to single-level cell (SLC) flash memory devices. Consequently, memory devices enable users to store and access a large amount of data.
As a number of bits stored per cell increases, errors in stored data typically increase (e.g., due to noise and other factors). A data storage device may encode and decode data using an error correcting code (ECC) technique. The ECC technique may enable error correction. For example, data may be stored with ECC information (e.g., parity bits) to enable correction of errors that may be present in the data. As a data storage device is repeatedly programmed over the operating cycle of the data storage device, an error rate may increase at the data storage device. For example, an error rate may exceed an error correction capability associated with the particular ECC scheme due to physical wear to a memory device caused by program/erase cycles, which may result in data loss.